#include<bits/stdc++.h>
using namespace std;
const int maxn = 2e5+7;
int n, m;
int a[maxn], dp[maxn];
int dq[maxn<<2], s, t; // front, end;
bool empty() {
  return s>t;
}
int main() {
  ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
  cin>>n>>m; for(int i=1; i<=n; ++i) cin>>a[i];
  for(int i=1; i<=n; ++i) {
    while(!empty() && dq[s]<i-m) s++;
    dp[i] = dp[dq[s]]+a[i];
    while(!empty() && dp[dq[t]]>=dp[i]) t--;
    dq[++t] = i;
  }
  int ans = 0x3f3f3f3f;
  for(int i=n-m+1; i<=n; ++i) {
    ans = min(ans, dp[i]);
  }
  cout<<ans<<endl;
}
